package com.question.service;

import com.github.pagehelper.PageInfo;
import com.question.pojo.dto.QuestionDTO;
import com.question.pojo.result.PageResult;
import com.question.pojo.vo.QuestionVO;

public interface QuestionService {

//    /**
//     * 获取题目列表（分页）
//     *
//     * @param pageNum      页码
//     * @param pageSize     每页数量
//     * @param questionType 题目类型
//     * @param keyword      关键字
//     * @param categoryId   分类ID
//     * @param majorId
//     * @return 分页结果
//     */
//    PageInfo<QuestionVO> listQuestions(int pageNum, int pageSize, String questionType,
//                                       String keyword, Integer categoryId, Integer majorId);
    /**
     * 获取题目详情
     * @param questionId 题目ID
     * @return 题目详情
     */
    QuestionVO getQuestionById(Integer questionId);

    /**
     * 添加新题目
     * @param questionDTO 题目数据传输对象
     * @return 添加成功的题目详情VO
     */
    QuestionVO addQuestion(QuestionDTO questionDTO);

    /**
     * 编辑更新题目
     * @param questionId 题目ID
     * @param questionDTO 题目数据传输对象
     * @return 更新的题目详情VO
     */
    QuestionVO updateQuestion(Integer questionId, QuestionDTO questionDTO);

    /**
     * 删除题目
     * @param questionId 题目ID
     */
    void deleteQuestion(Integer questionId);

    PageResult getQuestionPage(String questionType, String keyword, Integer majorId, Integer categoryId, Integer page, Integer pageSize);
}